package com.itheima.edu.info.manager.service;

import com.itheima.edu.info.manager.dao.TeacherDao;
import com.itheima.edu.info.manager.domain.Teacher;
//老师业务员类
public class TeacherService {
    private TeacherDao dao = new TeacherDao();

    //老师业务员类中的添加老师功能
    public boolean addTeacher(Teacher tea) {
//指挥库管添加老师
        return dao.addTeacher(tea);
    }
//老师业务员类中的查看老师功能
    public Teacher[] findAllTeacher() {
        //指挥库管查询老师
        Teacher[] teas = dao.findAllTeacher();
        /*期望,如果系统中没有数据,
        当前方法返回null
        如果系统中至少有一个数据,当前方法返回teas
        */
 /*
     这块查询信息,大致两种情况
     有数据,没数据
      */
        //通过标记为思想,看看业务员返回的数组有没有有效的老师信息
        //假设返回的数组中没有老师信息
        boolean flag = false;
        for (int i = 0; i < teas.length; i++) {
            if (teas[i] != null) {
                //只要有一个索引位置不为null,说明系统中有数据,修改标记为true
                flag = true;
            }
        }
        if (flag) {
            //有数据,返回数组地址
            return teas;
        } else {
            //没有数据,返回null
            return null;
        }
    }
//老师业务员类中删除功能
    public boolean deleteTeacher(String deleteId) {
        return dao.deleteTeacher(deleteId);
    }
//老师业务员类中修改信息
    public boolean updateTeacher(String updateId, Teacher newTea) {
        //指挥库管修改老师
        return dao.updateTeacher(updateId,newTea);
    }
    //业务员中的校验学号是否存在功能
    public boolean isExists(String updateId) {
        //方案一:指挥库管查询得到所有老师信息,在当前方法中自己写查找逻辑
        //方案二,指挥库管进行根据学号查找索引位置功能,根据库管返回的索引值组织当前方法逻辑
        int index = dao.getIndex(updateId);
        return index != -1;
        /*if(index == -1){
        return false;
        }else{
        return true;
        }
         */
    }
}
